package cn.wn.mapper;

import cn.wn.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface UserMapper {
    /**
     * 根据id查询
     * @param id 主键id
     * @return 返回用户对象
     */
    @Select("select * from wn_user where id=#{id}")
    User findById(Integer id);

    /**
     * 查询全部
     * @return 返回用列表
     */
    @Select("select * from wn_user")
    List<User> findAll();

    /**
     * 修改
     * @param user
     */
    @Update("UPDATE wn_user SET `name`=#{name},`password`=#{password},birthday=#{birthday} WHERE id=#{id}")
    void update(User user);

    /**
     * 添加 [SQL语句放到XML中，需要在yml中加载指定路径的xml文件]
     * @param user
     */
    void add(User user);

    /**
     * 删除
     * @param id
     */
    @Delete("delete from wn_user where id=#{id}")
    void delete(Integer id);

    /**
     * 根据用户名查询数据库
     * @param name
     * @return
     */
    @Select("select * from wn_user where name=#{name}")
    User findByName(String name);
}
